The technical field of neural networks and cognitive informatics has gained importance in recent years. Potential applications are under study notably for robotics, large-scale data analysis and intelligent autonomous systems and bio-inspired computation. Artificial neural networks are essentially composed of neurons mutually interconnected by synapses. The synapses are usually implemented by digital memories or resistive components whose conductance varies as a function of the voltage or of the current applied across their terminals.
Two known techniques can be used to implement stochasticity in neuromorphic systems. They are described in the article by M. Suri et al. titled CBRAM devices as binary synapses for low-power stochastic neuromorphic systems: Auditory (Cochlea) and visual (Retina) cognitive processing applications, International Electron Devices Meeting (IEDM) pp. 10.3.1-10.3.4 (2012).
The first technique consists in introducing stochasticity using PRNG (Pseudo-Random Noise Generator) random number generating circuits. These circuits occupy a large surface area of silicon and are complicated to design. Thus, if the number of synapses and neurons in the neural network is high, a large part of the surface area of the electronic chip implementing the neuromorphic system will be devoted to the implementation of external random number generating circuits. Indeed, a large number of transistors are required to implement the various logic gates of the PRNG circuits. If the random number generating circuits are implemented outside the electronic chip of the neuromorphic system, the phenomenon of power dissipation can then become considerable.
The second technique uses the physical properties of devices based on resistive memories used for implementing the synapses. The main drawback of this second technique is its lack of flexibility. The programming conditions used to obtain a switching from one intrinsically probabilistic or stochastic state to another depend on the technology and on the materials used to fabricate the synaptic devices. Thus, if devices of CBRAM (Conductive-Bridge Random Access Memory) type are chosen, their intrinsic programming conditions cannot be reused for another synaptic technology. Moreover, synaptic devices can deteriorate when they are used frequently. As a consequence, their programming conditions can change over time.